package com.foldingleaf.show.mapper;

import java.util.List;
import com.foldingleaf.show.domain.SysCollectionShow;
import com.foldingleaf.show.domain.SysCollection;

/**
 * 藏品出售展示Mapper接口
 * 
 * @author ajian
 * @date 2022-05-30
 */
public interface SysCollectionShowMapper 
{
    /**
     * 查询藏品出售展示
     * 
     * @param collectionShowId 藏品出售展示主键
     * @return 藏品出售展示
     */
    public SysCollectionShow selectSysCollectionShowByCollectionShowId(Long collectionShowId);

    /**
     * 查询一条未售出的藏品
     *
     * @param collectionShowId 藏品出售展示
     * @return 藏品出售展示
     */
    public SysCollectionShow  selectSysCollectionShowByCollectionShowIdAndIsSell(Long collectionShowId);
    /**
     * 查询藏品出售展示列表
     * 
     * @param sysCollectionShow 藏品出售展示
     * @return 藏品出售展示集合
     */
    public List<SysCollectionShow> selectSysCollectionShowList(SysCollectionShow sysCollectionShow);

    /**
     * 新增藏品出售展示
     * 
     * @param sysCollectionShow 藏品出售展示
     * @return 结果
     */
    public int insertSysCollectionShow(SysCollectionShow sysCollectionShow);

    /**
     * 查询未售出数量
     * @param collectionShowId
     * @return
     */
    public Long selectSysCollectionShowCount(Long collectionShowId);

    /**
     * 修改藏品出售展示
     * 
     * @param sysCollectionShow 藏品出售展示
     * @return 结果
     */
    public int updateSysCollectionShow(SysCollectionShow sysCollectionShow);

    /**
     * 删除藏品出售展示
     * 
     * @param collectionShowId 藏品出售展示主键
     * @return 结果
     */
    public int deleteSysCollectionShowByCollectionShowId(Long collectionShowId);

    /**
     * 批量删除藏品出售展示
     * 
     * @param collectionShowIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysCollectionShowByCollectionShowIds(Long[] collectionShowIds);

    /**
     * 批量删除藏品详情
     * 
     * @param collectionShowIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysCollectionByCollectionShowIds(Long[] collectionShowIds);
    
    /**
     * 批量新增藏品详情
     * 
     * @param sysCollectionList 藏品详情列表
     * @return 结果
     */
    public int batchSysCollection(List<SysCollection> sysCollectionList);
    

    /**
     * 通过藏品出售展示主键删除藏品详情信息
     * 
     * @param collectionShowId 藏品出售展示ID
     * @return 结果
     */
    public int deleteSysCollectionByCollectionShowId(Long collectionShowId);
}
